UITool Invocation
class UIToolInvocation<TInput, TOutput>(val toolCallId: String, val toolName: String, val state: ToolCallState, val input: TInput?, val output: TOutput?, val error: String?)
Typed invocation handle — what a per-tool renderer receives. Carries the typed input + output via the tool's own serializers.